#ifndef __TRANSFORM_H__
#define __TRANSFORM_H__

#define T_ROTATION 0
#define T_TRANSLATION 1
#define T_SCALE 2

class Transform
{
public:
	Transform();
	Transform(float X, float Y, float Z);
	Transform(float X, float Y, float Z, float Angle);
	void SetX(float X);
	void SetY(float Y);
	void SetZ(float Z);
	void SetAngle(float angle);
	void SetXYZ(float X, float Y, float Z);
	void SetXYZA(float X, float Y, float Z, float angle);
	void SetType(int type);
	bool isEmpty();

	float GetX();
	float GetY();
	float GetZ();
	float GetAngle();
	int GetType();

	Transform & operator=(const Transform &rhs);
	Transform & operator=(const int &rhs);
	bool operator==(const int &other) const;
		
	
private:
	float m_X;
	float m_Y;
	float m_Z;
	float m_Angle;
	int m_Type;
	bool m_isEmpty;
};

#endif